
export interface IRuleForm {
  phone:string,
  Authorization?:string,
  code?:string,
  password?:string
}

export interface IContent{
  isUpdatedPassword:boolean,
  portrait:string,
  userName:string
}
export interface ILoginReturn{
  success:boolean,
  state:number,
  message:string,
  content:IContent
}

export interface IRoleAllInfo{
  code:string,
  id:number,
  name:string,
  createdBy:string,
  description:string,
  updatedBy:string,
  createdTime:string,
  updatedTime:string,
  operatorId:number
}

export interface IRoleQueryParam{
  code?:string,
  id?:number,
  name?:string,
  startCreateTime?:string,
  endCreateTime?:string,
  current?:number,
  size?:number
}

export interface IRoleRecords{
  code:string,
  id:number,
  name:string,
  createdBy:string,
  description:string,
  updatedBy:string,
  createdTime:string,
  updatedTime:string,
  operatorId:number
}

export interface IRoleOrders{
  column:string,
  asc:boolean
}

export interface IRolePagesInfo{
  pages:number,
  searchCount:boolean,
  records:IRoleRecords[],
  total:number,
  size:number,
  current:number,
  orders:IRoleOrders,
  optimizeCountSql:boolean,
  hitCount:boolean
}

export interface ISaveAndUpdate{
  id?:number,
  parentId:number,
  name:string,
  href:string,
  icon?:string,
  orderNmu?:number,
  description:string,
  shown:boolean
}

export interface IGetMenuPages{
  id?:number,
  name?:string,
  shown?:boolean,
  startCreateTime?:string,
  endCreateTime?:string,
  querySubLevel?:boolean,
  current?:number,
  size?:number
}

export interface IMenuRecords{
  parentId:number,
  id:number,
  name:string,
  createdBy:string,
  href:string,
  icon:string,
  updatedBy:string,
  createdTime:string,
  orderNum:number,
  description:string,
  updatedTime:string,
  operatorId:number,
  shown:boolean,
  level:number
}

export interface IMenuPagesReturn{
  pages:number,
  searchCount:boolean,
  records:IMenuRecords[],
  total:number,
  size:number,
  current:number,
  orders: {column:string, asc:boolean}[],
  optimizeCountSql:boolean,
  hitCount:boolean
}

export interface IEditMenuRecords extends IMenuRecords{
  selected:boolean,
  subMenuList: IEditMenuRecords[]
}

export interface IEditMenuInfo{
  menuInfo:IEditMenuRecords | null,
  parentMenuLit: IEditMenuRecords[]
}
